#!/bin/sh

. /lib/functions/uci-defaults.sh
. /lib/ramips.sh

set_usb_led() {
	ucidef_set_led_usbdev "usb" "USB" "$1" "1-1"
}

set_wifi_led() {
	ucidef_set_led_netdev "wifi_led" "wifi" "$1" "wlan0"
}

board=$(ramips_board_name)

case $board in
	3g-6200n)
		set_wifi_led "edimax:amber:wlan"
		set_usb_led "edimax:blue:3g"
		;;
	3g-6200nl)
		set_wifi_led "edimax:green:wlan"
		;;
	3g300m)
		set_usb_led "tenda:blue:3g"
		;;
	air3gii)
		set_wifi_led "airlive:green:wlan"
		set_usb_led "airlive:green:mobile"
		;;
	all0256n)
		ucidef_set_rssimon "wlan0" "40000" "1"
		ucidef_set_led_rssi "rssilow" "RSSILOW" "all0256n:green:rssilow" "wlan0" "1" "40" "0" "6"
		ucidef_set_led_rssi "rssimedium" "RSSIMEDIUM" "all0256n:green:rssimed" "wlan0" "30" "80" "-29" "5"
		ucidef_set_led_rssi "rssihigh" "RSSIHIGH" "all0256n:green:rssihigh" "wlan0" "70" "100" "-69" "8"
		set_wifi_led "rt2800pci-phy0::radio"
		;;
	awapn2403)
		set_wifi_led "rt2800soc-phy0::radio"
		;;
	ar725w)
		set_wifi_led "rt2800soc-phy0::radio"
		;;
	asl26555)
		ucidef_set_led_default "power" "POWER" "asl26555:green:power" "1"
		ucidef_set_led_netdev "eth" "ETH" "asl26555:green:eth" "eth0"
		set_wifi_led "asl26555:green:wlan"
		set_usb_led "asl26555:green:3g"
		;;
	bc2)
		set_usb_led "bc2:blue:usb"
		;;
	br6425)
		set_wifi_led "edimax:orange:wlan"
		;;
	br-6475nd)
		set_wifi_led "edimax:amber:wlan"
		;;
	broadway)
		set_usb_led "red:diskmounted"
		set_wifi_led "red:wps_active"
		;;
	br6524n)
		set_wifi_led "edimax:blue:wlan"
		;;
	cy-swr1100)
		ucidef_set_led_default "wps" "WPS" "samsung:blue:wps" "0"
		set_usb_led "samsung:blue:usb"
		;;
	d105)
		ucidef_set_led_default "power" "POWER" "d105:red:power" "1"
		set_usb_led "d105:green:usb"
		;;
	dir-300-b1|\
	dir-600-b1|\
	dir-600-b2|\
	dir-620-a1)
		# ANDed with vlan switch port 4 led state
		ucidef_set_led_default "wan" "WAN LED (amber)" "d-link:amber:wan" "1"
		set_wifi_led "rt2800pci-phy0::radio"
		;;
	dir-615-d|\
	dir-615-h1)
		ucidef_set_led_default "status" "Status LED (amber)" "d-link:amber:status" "0"
		set_wifi_led "rt2800pci-phy0::radio"
		;;
	dir-620-d1)
		set_wifi_led "d-link:green:wifi"
		;;
	dir-810l)
		ucidef_set_led_default "power" "POWER" "dlink:green:power" "1"
		;;
	dir-610-a1 |\
	dir-300-b7 |\
	dir-320-b1 |\
	esr-9753)
		set_wifi_led "rt2800pci-phy0::radio"
		;;
	f5d8235-v1)
		set_usb_led "f5d8235-v1:blue:storage"
		;;
	f5d8235-v2)
		set_usb_led "f5d8235v2:blue:storage"
		;;
	fonera20n)
		set_usb_led "fonera20n:orange:usb"
		set_wifi_led "fonera20n:orange:wifi"
		;;
	hlk-rm04)
		set_wifi_led "rt2800pci-phy0::radio"
		;;
	all0239-3g|\
	hw550-3g)
		set_usb_led "hw550-3g:green:usb"
		;;
	mlw221|\
	mlwg2)
		set_wifi_led "kingston:blue:wifi"
		ucidef_set_led_default "system" "system" "kingston:blue:system" "1"
		;;
	mofi3500-3gn)
		set_usb_led "mofi3500-3gn:green:usb"
		;;
	mpr-a1)
		set_wifi_led "hame:blue:system"
		;;
	mpr-a2)
		set_wifi_led "hame:blue:system"
		;;
	mzk-w300nh2)
		set_wifi_led "mzkw300nh2:amber:wlan"
		;;
	na930)
		set_usb_led "na930:blue:status"
		;;
	nw718)
		set_usb_led "nw718:amber:usb"
		;;
	omni-emb-hpm)
		ucidef_set_led_default "power" "POWER" "emb:orange:power" "1"
		ucidef_set_led_netdev "eth" "ETH" "emb:green:eth" "eth0"
		set_wifi_led "emb:green:wifi"
		;;
	omni-plug)
		set_wifi_led "miniplug:green:wlan"
		set_usb_led "miniplug:green:mobile"
		;;
	px4885)
		set_wifi_led "7links:orange:wifi"
		set_usb_led "7links:blue:storage"
		;;
	sl-r7205)
		set_wifi_led "rt2800pci-phy0::radio"
		;;
	v11st-fe)
		set_wifi_led "rt2800pci-phy0::radio"
		;;
	vocore)
		ucidef_set_led_netdev "eth" "ETH" "vocore:orange:eth" "eth0"
		set_wifi_led "vocore:green:status"
		;;
	w306r-v20)
		set_wifi_led "rt2800pci-phy0::radio"
		;;
	w502u)
		set_usb_led "alfa:blue:usb"
		set_wifi_led "rt2800pci-phy0::radio"
		;;
	wcr-150gn)
		set_usb_led "wcr150gn:amber:user"
		;;
	hg255d)
    		set_wifi_led "hg255d:wlan"
    		set_usb_led "hg255d:usb"
    		ucidef_set_led_netdev "eth" "Internet" "hg255d:internet" "eth0.2"
		;;
	wnce2001)
		set_wifi_led "netgear:green:wlan"
		;;
	rt-n14u)
		ucidef_set_led_default "power" "power" "asus:blue:power" "1"
		ucidef_set_led_netdev "lan" "lan" "asus:blue:lan" "eth0.1"
		ucidef_set_led_netdev "wan" "wan" "asus:blue:wan" "eth0.2"
		set_wifi_led "asus:blue:air"
		set_usb_led "asus:blue:usb"
		;;
	rp-n53)
		ucidef_set_led_netdev "eth" "Network" "asus:white:back" "eth0"
		set_wifi_led "asus:blue:wifi"
		;;
	whr-300hp2 |\
	whr-600d |\
	whr-1166d)
		ucidef_set_led_default "power" "power" "buffalo:green:power" "1"
		ucidef_set_led_default "router" "router" "buffalo:green:router" "1"
		;;
	zbt-wa05)
		ucidef_set_led_default "power" "power" "zbtlink:blue:power" "1"
		set_wifi_led "zbtlink:blue:air"
		set_usb_led "zbtlink:blue:usb"
		;;
	wr8305rt)
		ucidef_set_led_default "power" "power" "wr8305rt:sys" "1"
		set_usb_led "wr8305rt:usb"
		set_wifi_led "wr8305rt:wifi"
		;;
	y1 |\
	y1s)
		ucidef_set_led_default "power" "power" "lenovo:blue:power" "1"
		set_usb_led "lenovo:blue:usb"
		set_wifi_led "lenovo:blue:wifi"
		;;
esac

ucidef_commit_leds

exit 0
